﻿
using Xacml.Core;
using System;
using System.Xml;

namespace Xacml.Core.Context
{
  public class SubjectElement : SubjectElementReadWrite
  {
    public override string SubjectCategory
    {
      set
      {
        throw new NotSupportedException();
      }
    }

    public override AttributeCollectionReadWrite Attributes
    {
      get
      {
        return (AttributeCollectionReadWrite) new AttributeCollection(base.Attributes);
      }
      set
      {
        throw new NotSupportedException();
      }
    }

    public override bool IsReadOnly
    {
      get
      {
        return true;
      }
    }

    public SubjectElement(string subjectCategory, AttributeCollection attributes, XacmlVersion schemaVersion)
      : base(subjectCategory, (AttributeCollectionReadWrite) attributes, schemaVersion)
    {
    }

    public SubjectElement(XmlReader reader, XacmlVersion schemaVersion)
      : base(reader, schemaVersion)
    {
    }
  }
}
